A browser or other application providing web-based searches may be configured to receive an input search query, conduct a search, and return a list of search results corresponding to the query. In some cases, a search query input by a user may include some misspelled search terms. Results obtained using misspelled queries may be incomplete and generally are not what the user expects, which may be dissatisfying to the user. Accordingly, some search providers may attempt to correct misspelling in queries and provide suggestions and/or results based on a corrected query.
However, traditional techniques employed to correct queries involve applying a predefined dictionary of “correct” terms. Due to the dynamic nature of the web, though, dictionary based techniques may be inadequate because new phrases and terms appear frequently in the search context and searches often include names, abbreviations, and informal terms that may be hard to capture with a dictionary based approach. Thus, it may be difficult to derive accurate query corrections with traditional dictionary based techniques.